package com.girant.logger.entity.vo.show;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.write.style.ColumnWidth;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.girant.dict.annotation.DictLabel;
import lombok.Data;

//异常日志Excel导出（出参）
@Data
public class ErrorLogExportVO {
        //操作用户ID
        @JsonProperty("操作用户ID")
        @ColumnWidth(20)
        private String operationUser;

        //操作用户账号
        @ExcelProperty(value = "操作用户账号")
        @ColumnWidth(20)
        private String operationUsername;

        //操作用户昵称
        @ExcelProperty(value = "操作用户昵称")
        @ColumnWidth(20)
        private String operationNickname;

        //字典：sysLogServerName
        @ExcelProperty(value = "服务器名称标签")
        @ColumnWidth(20)
        private String serverName;

        //服务名称代码(字典字典：sysLogServerName)
        @ExcelProperty(value = "服务名称代码")
        @ColumnWidth(20)
        @DictLabel(dictCode = "sysLogServerName")
        private String serverNameLabel;

        // 操作时间（对应ES的log_timestamp）
        @ExcelProperty(value = "操作时间")
        @ColumnWidth(20)
        private String operationTime;

        //错误消息（对应ES的log_message）
        @ExcelProperty(value = "错误消息")
        @ColumnWidth(20)
        private String errorInfo;

        // 异常堆栈（对应ES的stack_trace
        @ExcelProperty(value = "异常堆栈")
        @ColumnWidth(60)
        private String stackTrace;

        //跟踪ID（对应ES的trace_id）
        @ExcelProperty(value = "跟踪ID")
        @ColumnWidth(20)
        private String traceId;

        //跨度ID（对应ES的span_id）
        @ExcelProperty(value = "跨度ID")
        @ColumnWidth(20)
        private String spanId;

        //日志输出类名
        @ExcelProperty(value = "日志输出类名")
        @ColumnWidth(20)
        private String loggerName;

        //客户端浏览器信息
        @ExcelProperty(value = "客户端浏览器")
        @ColumnWidth(20)
        private String clientBrowser;

        // 客户端版本
        @ExcelProperty(value = "客户端版本")
        @ColumnWidth(20)
        private String clientVersion;

        //访问来源IP
        @ExcelProperty(value = "来源IP")
        private String sourceIp;

    }

